package com.iris.live.services.data.models;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;

/**
 *
 */
@SuppressWarnings("JpaDataSourceORMInspection")
@Entity
@Table(name = "销售财务账目表", schema = "iris_dch_line_test", catalog = "")
public class 销售财务账目表Model {
    private Integer 账目编号;
    private Integer 关联编号;
    private Integer 财务编号;
    private String 订单编号;
    private String 账目类型;
    private String 账目单号;
    private Date 账目日期;
    private String 支付方式;
    private String 退款方式;
    private String 退款原因;
    private String 挂账类别;
    private BigDecimal 账目金额;
    private String 交易凭证号;
    private String 发票项目;
    private String 发票类型;
    private String 发票抬头;
    private String 纳税人识别号;
    private String 客户地址;
    private String 客户电话;
    private String 客户开户行;
    private String 客户账号;
    private String 是否红冲;
    private Date 同步日期;
    private String 同步状态;
    private String 同步状态描述;
    private String 备注;
    private String 创建用户;
    private Timestamp 创建时间;
    private String 修改用户;
    private Timestamp 修改时间;
    private String 删除状态;
    private Timestamp 操作日期;

    @Id
    @Column(name = "账目编号")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Integer get账目编号() {
        return 账目编号;
    }

    public void set账目编号(Integer 账目编号) {
        this.账目编号 = 账目编号;
    }

    @Basic
    @Column(name = "关联编号")
    public Integer get关联编号() {
        return 关联编号;
    }

    public void set关联编号(Integer 关联编号) {
        this.关联编号 = 关联编号;
    }

    @Basic
    @Column(name = "财务编号")
    public Integer get财务编号() {
        return 财务编号;
    }

    public void set财务编号(Integer 财务编号) {
        this.财务编号 = 财务编号;
    }

    @Basic
    @Column(name = "订单编号")
    public String get订单编号() {
        return 订单编号;
    }

    public void set订单编号(String 订单编号) {
        this.订单编号 = 订单编号;
    }

    @Basic
    @Column(name = "账目类型")
    public String get账目类型() {
        return 账目类型;
    }

    public void set账目类型(String 账目类型) {
        this.账目类型 = 账目类型;
    }

    @Basic
    @Column(name = "账目单号")
    public String get账目单号() {
        return 账目单号;
    }

    public void set账目单号(String 账目单号) {
        this.账目单号 = 账目单号;
    }

    @Basic
    @Column(name = "账目日期")
    public Date get账目日期() {
        return 账目日期;
    }

    public void set账目日期(Date 账目日期) {
        this.账目日期 = 账目日期;
    }

    @Basic
    @Column(name = "支付方式")
    public String get支付方式() {
        return 支付方式;
    }

    public void set支付方式(String 支付方式) {
        this.支付方式 = 支付方式;
    }

    @Basic
    @Column(name = "退款方式")
    public String get退款方式() {
        return 退款方式;
    }

    public void set退款方式(String 退款方式) {
        this.退款方式 = 退款方式;
    }

    @Basic
    @Column(name = "退款原因")
    public String get退款原因() {
        return 退款原因;
    }

    public void set退款原因(String 退款原因) {
        this.退款原因 = 退款原因;
    }

    @Basic
    @Column(name = "挂账类别")
    public String get挂账类别() {
        return 挂账类别;
    }

    public void set挂账类别(String 挂账类别) {
        this.挂账类别 = 挂账类别;
    }

    @Basic
    @Column(name = "账目金额")
    public BigDecimal get账目金额() {
        return 账目金额;
    }

    public void set账目金额(BigDecimal 账目金额) {
        this.账目金额 = 账目金额;
    }

    @Basic
    @Column(name = "交易凭证号")
    public String get交易凭证号() {
        return 交易凭证号;
    }

    public void set交易凭证号(String 交易凭证号) {
        this.交易凭证号 = 交易凭证号;
    }

    @Basic
    @Column(name = "发票项目")
    public String get发票项目() {
        return 发票项目;
    }

    public void set发票项目(String 发票项目) {
        this.发票项目 = 发票项目;
    }

    @Basic
    @Column(name = "发票类型")
    public String get发票类型() {
        return 发票类型;
    }

    public void set发票类型(String 发票类型) {
        this.发票类型 = 发票类型;
    }

    @Basic
    @Column(name = "发票抬头")
    public String get发票抬头() {
        return 发票抬头;
    }

    public void set发票抬头(String 发票抬头) {
        this.发票抬头 = 发票抬头;
    }

    @Basic
    @Column(name = "纳税人识别号")
    public String get纳税人识别号() {
        return 纳税人识别号;
    }

    public void set纳税人识别号(String 纳税人识别号) {
        this.纳税人识别号 = 纳税人识别号;
    }

    @Basic
    @Column(name = "客户地址")
    public String get客户地址() {
        return 客户地址;
    }

    public void set客户地址(String 客户地址) {
        this.客户地址 = 客户地址;
    }

    @Basic
    @Column(name = "客户电话")
    public String get客户电话() {
        return 客户电话;
    }

    public void set客户电话(String 客户电话) {
        this.客户电话 = 客户电话;
    }

    @Basic
    @Column(name = "客户开户行")
    public String get客户开户行() {
        return 客户开户行;
    }

    public void set客户开户行(String 客户开户行) {
        this.客户开户行 = 客户开户行;
    }

    @Basic
    @Column(name = "客户账号")
    public String get客户账号() {
        return 客户账号;
    }

    public void set客户账号(String 客户账号) {
        this.客户账号 = 客户账号;
    }

    @Basic
    @Column(name = "是否红冲")
    public String get是否红冲() {
        return 是否红冲;
    }

    public void set是否红冲(String 是否红冲) {
        this.是否红冲 = 是否红冲;
    }

    @Basic
    @Column(name = "同步日期")
    public Date get同步日期() {
        return 同步日期;
    }

    public void set同步日期(Date 同步日期) {
        this.同步日期 = 同步日期;
    }

    @Basic
    @Column(name = "同步状态")
    public String get同步状态() {
        return 同步状态;
    }

    public void set同步状态(String 同步状态) {
        this.同步状态 = 同步状态;
    }

    @Basic
    @Column(name = "同步状态描述")
    public String get同步状态描述() {
        return 同步状态描述;
    }

    public void set同步状态描述(String 同步状态描述) {
        this.同步状态描述 = 同步状态描述;
    }

    @Basic
    @Column(name = "备注")
    public String get备注() {
        return 备注;
    }

    public void set备注(String 备注) {
        this.备注 = 备注;
    }

    @Basic
    @Column(name = "创建用户")
    public String get创建用户() {
        return 创建用户;
    }

    public void set创建用户(String 创建用户) {
        this.创建用户 = 创建用户;
    }

    @Basic
    @Column(name = "创建时间")
    public Timestamp get创建时间() {
        return 创建时间;
    }

    public void set创建时间(Timestamp 创建时间) {
        this.创建时间 = 创建时间;
    }

    @Basic
    @Column(name = "修改用户")
    public String get修改用户() {
        return 修改用户;
    }

    public void set修改用户(String 修改用户) {
        this.修改用户 = 修改用户;
    }

    @Basic
    @Column(name = "修改时间")
    public Timestamp get修改时间() {
        return 修改时间;
    }

    public void set修改时间(Timestamp 修改时间) {
        this.修改时间 = 修改时间;
    }

    @Basic
    @Column(name = "删除状态")
    public String get删除状态() {
        return 删除状态;
    }

    public void set删除状态(String 删除状态) {
        this.删除状态 = 删除状态;
    }

    @Basic
    @Column(name = "操作日期")
    public Timestamp get操作日期() {
        return 操作日期;
    }

    public void set操作日期(Timestamp 操作日期) {
        this.操作日期 = 操作日期;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        销售财务账目表Model that = (销售财务账目表Model) o;

        if (账目编号 != that.账目编号) return false;
        if (关联编号 != that.关联编号) return false;
        if (财务编号 != that.财务编号) return false;
        if (订单编号 != null ? !订单编号.equals(that.订单编号) : that.订单编号 != null) return false;
        if (账目类型 != null ? !账目类型.equals(that.账目类型) : that.账目类型 != null) return false;
        if (账目单号 != null ? !账目单号.equals(that.账目单号) : that.账目单号 != null) return false;
        if (账目日期 != null ? !账目日期.equals(that.账目日期) : that.账目日期 != null) return false;
        if (支付方式 != null ? !支付方式.equals(that.支付方式) : that.支付方式 != null) return false;
        if (退款方式 != null ? !退款方式.equals(that.退款方式) : that.退款方式 != null) return false;
        if (挂账类别 != null ? !挂账类别.equals(that.挂账类别) : that.挂账类别 != null) return false;
        if (账目金额 != null ? !账目金额.equals(that.账目金额) : that.账目金额 != null) return false;
        if (交易凭证号 != null ? !交易凭证号.equals(that.交易凭证号) : that.交易凭证号 != null) return false;
        if (发票项目 != null ? !发票项目.equals(that.发票项目) : that.发票项目 != null) return false;
        if (发票类型 != null ? !发票类型.equals(that.发票类型) : that.发票类型 != null) return false;
        if (发票抬头 != null ? !发票抬头.equals(that.发票抬头) : that.发票抬头 != null) return false;
        if (纳税人识别号 != null ? !纳税人识别号.equals(that.纳税人识别号) : that.纳税人识别号 != null) return false;
        if (客户地址 != null ? !客户地址.equals(that.客户地址) : that.客户地址 != null) return false;
        if (客户电话 != null ? !客户电话.equals(that.客户电话) : that.客户电话 != null) return false;
        if (客户开户行 != null ? !客户开户行.equals(that.客户开户行) : that.客户开户行 != null) return false;
        if (客户账号 != null ? !客户账号.equals(that.客户账号) : that.客户账号 != null) return false;
        if (是否红冲 != null ? !是否红冲.equals(that.是否红冲) : that.是否红冲 != null) return false;
        if (同步日期 != null ? !同步日期.equals(that.同步日期) : that.同步日期 != null) return false;
        if (同步状态 != null ? !同步状态.equals(that.同步状态) : that.同步状态 != null) return false;
        if (同步状态描述 != null ? !同步状态描述.equals(that.同步状态描述) : that.同步状态描述 != null) return false;
        if (备注 != null ? !备注.equals(that.备注) : that.备注 != null) return false;
        if (创建用户 != null ? !创建用户.equals(that.创建用户) : that.创建用户 != null) return false;
        if (创建时间 != null ? !创建时间.equals(that.创建时间) : that.创建时间 != null) return false;
        if (修改用户 != null ? !修改用户.equals(that.修改用户) : that.修改用户 != null) return false;
        if (修改时间 != null ? !修改时间.equals(that.修改时间) : that.修改时间 != null) return false;
        if (删除状态 != null ? !删除状态.equals(that.删除状态) : that.删除状态 != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = 账目编号;
        result = 31 * result + 关联编号;
        result = 31 * result + 财务编号;
        result = 31 * result + (订单编号 != null ? 订单编号.hashCode() : 0);
        result = 31 * result + (账目类型 != null ? 账目类型.hashCode() : 0);
        result = 31 * result + (账目单号 != null ? 账目单号.hashCode() : 0);
        result = 31 * result + (账目日期 != null ? 账目日期.hashCode() : 0);
        result = 31 * result + (支付方式 != null ? 支付方式.hashCode() : 0);
        result = 31 * result + (退款方式 != null ? 退款方式.hashCode() : 0);
        result = 31 * result + (挂账类别 != null ? 挂账类别.hashCode() : 0);
        result = 31 * result + (账目金额 != null ? 账目金额.hashCode() : 0);
        result = 31 * result + (交易凭证号 != null ? 交易凭证号.hashCode() : 0);
        result = 31 * result + (发票项目 != null ? 发票项目.hashCode() : 0);
        result = 31 * result + (发票类型 != null ? 发票类型.hashCode() : 0);
        result = 31 * result + (发票抬头 != null ? 发票抬头.hashCode() : 0);
        result = 31 * result + (纳税人识别号 != null ? 纳税人识别号.hashCode() : 0);
        result = 31 * result + (客户地址 != null ? 客户地址.hashCode() : 0);
        result = 31 * result + (客户电话 != null ? 客户电话.hashCode() : 0);
        result = 31 * result + (客户开户行 != null ? 客户开户行.hashCode() : 0);
        result = 31 * result + (客户账号 != null ? 客户账号.hashCode() : 0);
        result = 31 * result + (是否红冲 != null ? 是否红冲.hashCode() : 0);
        result = 31 * result + (同步日期 != null ? 同步日期.hashCode() : 0);
        result = 31 * result + (同步状态 != null ? 同步状态.hashCode() : 0);
        result = 31 * result + (同步状态描述 != null ? 同步状态描述.hashCode() : 0);
        result = 31 * result + (备注 != null ? 备注.hashCode() : 0);
        result = 31 * result + (创建用户 != null ? 创建用户.hashCode() : 0);
        result = 31 * result + (创建时间 != null ? 创建时间.hashCode() : 0);
        result = 31 * result + (修改用户 != null ? 修改用户.hashCode() : 0);
        result = 31 * result + (修改时间 != null ? 修改时间.hashCode() : 0);
        result = 31 * result + (删除状态 != null ? 删除状态.hashCode() : 0);
        return result;
    }
}
